package com.chuhe.starry.service;

import com.chuhe.common.domain.dto.TokenUserInfoDto;
import com.chuhe.common.domain.enums.UserContactStatusEnum;
import com.chuhe.common.domain.vo.req.ApplyAddReq;
import com.chuhe.common.domain.vo.resp.UserConcactResp;
import com.chuhe.common.domain.vo.resp.loadContactInfoResp;
import com.chuhe.common.domain.vo.resp.loadContactResp;

import java.util.List;
import java.util.Objects;

/**
 * <p>
 * 联系人 服务类
 * </p>
 *
 * @author 张楚河
 * @since 2025-05-11
 */
public interface UserContactService {
    /**
     * 搜索联系人
     * @Author: 楚河
     * @Date: 2025-05-15 22:33
     */
    UserConcactResp searchContact(String userId, String contactId);
    /**
     * 添加联系人
     * @Author: 楚河
     * @Date: 2025-05-17 10:48
     */
    void addUserContact(String userId, String contactId, String applyInfo, String receiveUserId, Integer contactType);
    /**
     * 加载联系人列表
     * @Author: 楚河
     * @Date: 2025-05-17 13:38
     */
    List<loadContactResp> findContactList(String userId, String contactType);
    /**
     * 点击显示联系人详情 *
     * @Author: 楚河
     * @Date: 2025-05-17 16:27
     */
    loadContactInfoResp loadContactInfo(String userId, String contactId);
    /**
     * 加载联系人详情
     * @Author: 楚河
     * @Date: 2025-05-17 16:37
     */
    loadContactInfoResp getContactUserInfo(String userId, String contactId);
    /**
     * 删除联系人
     * @Author: 楚河
     * @Date: 2025-05-17 16:47
     */
    Objects delContact(String userId, String contactId, UserContactStatusEnum statusEnum);
}
